|
|
|
◆ ファイルの圧縮・解凍 ◆
ディレクトリ中の複数のファイルを纏めて、かつ圧縮することにより、ディスクの空き容量を増やすことが出来ます。
◆ 単一ファイルの圧縮・解凍 ◆
単独のファイルを圧縮する場合は、compressコマンドを使用します。
例えば、下記のtest.txtファイルを圧縮して見ましょう。
[director@KIRIN dmydir]$ ls -al
合計 16
drwxr-xr-x 2 director dba 4096 10月 27 20:57 .
drwx------ 5 director dba 4096 10月 27 20:49 ..
-rw-r--r-- 1 director dba 5120 10月 27 21:00 test.txt
この時、compress 圧縮したい単独ファイル名.拡張子
と、します。
$ compress test.txt
その後、圧縮された状況を確認すると
[director@KIRIN dmydir]$ ls -al
合計 12
drwxr-xr-x 2 director dba 4096 10月 27 21:01 .
drwx------ 5 director dba 4096 10月 27 20:49 ..
-rw-r--r-- 1 director dba 255 10月 27 21:00 test.txt.Z
となります。
この時、ファイルの拡張子が、+.Z となります。
この事は、compressコマンドで、圧縮されていることを表します。
また、ファイルのサイズが、小さくなっている事に着目してください。
今度は、圧縮(compress)されたファイルを解凍してみます。
解凍するには、uncompressコマンドを使用します。
ここでは、上記のtest.txt.Zファイルを解凍します。
$ uncompress test.txt.Z
そうすると、
[director@KIRIN dmydir]$ ls -al
合計 16
drwxr-xr-x 2 director dba 4096 10月 27 21:07 .
drwx------ 5 director dba 4096 10月 27 20:49 ..
-rw-r--r-- 1 director dba 5120 10月 27 21:00 test.txt
と、言うようにファイルのサイズと、拡張子が戻り解凍されたことが分かります。
◆ 複数ファイルを単一ファイルに纏める ◆
複数のファイルを、まとめて何処かに転送したいとき、転送のコマンドを複数実行するのは、面倒な場合があります。
この時に、便利なコマンドがtarコマンドです。
以下の様に、複数のファイルが在るとします。
[director@KIRIN test]$ ls -al
合計 28
drwxr-xr-x 2 director dba 4096 10月 27 21:26 .
drwx------ 5 director dba 4096 10月 27 20:49 ..
-rw-r--r-- 1 director dba 6 10月 27 21:26 test1.test
-rw-r--r-- 1 director dba 6 10月 27 21:26 test2.test
-rw-r--r-- 1 director dba 6 10月 25 2002 test3.test
-rw-r--r-- 1 director dba 6 10月 26 2002 test4.test
-rw-r--r-- 1 director dba 7 10月 27 2002 test5.test
[director@KIRIN test]$
上記の例では、test1.testからtest5.testまでの5つのファイルを纏めてみます。
纏めるコマンドは、tarコマンドを使用します。
コマンドは、tar cvf 出力ファイル.拡張子 対象ファイル[複数指定可]
tar cvf test.tar *
ここでは、同一ディレクトリ中のファイルを全て纏めるので、ワイルドカード"*"を使用します。
個別でファイル名を指定したい場合は、"*"を各ファイル名(複数指定可)の様に指定します。
tarファイルは、明示的にファイル名を指定します。
この時、拡張子として、.tarと、つける事により、第三者も
「このファイルは、tarで固められたな・・・」
と、暗黙的なルールになります。
上記の例では、test.tar ファイルにディレクトリ中にあるファイル全てをtarコマンドの対象することを表します。
では、実行結果を見てみましょう。
[director@KIRIN test]$ ls -al
合計 40
drwxr-xr-x 2 director dba 4096 10月 27 21:27 .
drwx------ 5 director dba 4096 10月 27 20:49 ..
-rw-r--r-- 1 director dba 10240 10月 27 21:27 test.tar
-rw-r--r-- 1 director dba 6 10月 27 21:26 test1.test
-rw-r--r-- 1 director dba 6 10月 27 21:26 test2.test
-rw-r--r-- 1 director dba 6 10月 25 2002 test3.test
-rw-r--r-- 1 director dba 6 10月 26 2002 test4.test
-rw-r--r-- 1 director dba 7 10月 27 2002 test5.test
明示的に指定したtarファイルtest.tatが出来上がっています。
この時、tarファイルの作成に指定された各ファイルは、そのままです。
◆ 纏まったファイルの中身を確認する ◆
一旦、tar形式で纏められたファイルは、解凍前に、どの様なファイルが纏められているかを確認したい場合が在ります。
この時も、tarコマンドを実行します。
ただし、オプションは、確認用のオプションになります。
では、先ほど纏めたファイルの内容が正しいかを確認します。
コマンドは、tar tvf tarされたファイル名 です。
$ tar tvf test.tar
実行結果は、以下の様になります。
[director@KIRIN test]$ tar tvf test.tar
-rw-r--r-- director/dba 6 2030-10-27 21:26:46 test1.test
-rw-r--r-- director/dba 6 2030-10-27 21:26:39 test2.test
-rw-r--r-- director/dba 6 2002-10-25 20:30:11 test3.test
-rw-r--r-- director/dba 6 2002-10-26 20:30:27 test4.test
-rw-r--r-- director/dba 7 2002-10-27 20:26:18 test5.test
これで、正しくファイルが纏まったことが分かります。
◆ 複数ファイルを纏めながら、圧縮する ◆
さて、上記の例を参考に、ファイルの取り纏めと、圧縮の応用をして見ましょう。
始めに、ファイルを確認します。
[director@KIRIN test]$ ls -al
合計 28
drwxr-xr-x 2 director dba 4096 10月 27 21:48 .
drwx------ 5 director dba 4096 10月 27 20:49 ..
-rw-r--r-- 1 director dba 6 10月 23 10:20 test1.test
-rw-r--r-- 1 director dba 6 10月 24 2002 test2.test
-rw-r--r-- 1 director dba 6 10月 25 2002 test3.test
-rw-r--r-- 1 director dba 6 10月 26 2002 test4.test
-rw-r--r-- 1 director dba 7 10月 27 2002 test5.test
上記のtes1.testからtest5.test迄のファイルが存在するディレクトリを対象とし、圧縮しながら纏めてみます。
コマンドの実行ディレクトリは、ディレクトリ名を指定するので、
一段上に上がります。
$ cd ..
その後、コマンドを実行します。
コマンドは、tar cvf - 対象ディレクトリ名 | compress > 纏めて圧縮したいファイル名(出力ファイル名)
$ tar cvf - test | compress > test.tar.Z
上記のコマンドを実行することにより、test.tar.Zファイルが作成されます。
この時、ファイル名/拡張子は、任意に指定出来ますが、
ディレクトリ名.tar.Z
と、すると後でもそのファイルが、どの様に作成されたかが分かります。
◆ 圧縮され纏まったファイルの内容を確認する ◆
上記で作成したファイルの内容を、確認してみる事にします。
コマンドは、zcat 確認したいファイル名 | tar tvBf - です。
実際に確認すると、
[director@KIRIN director]$ zcat test.tar.Z | tar tvBf -
drwxr-xr-x director/dba 0 2030-10-27 21:48:57 test/
-rw-r--r-- director/dba 6 2030-10-23 10:20:09 test/test1.test
-rw-r--r-- director/dba 7 2002-10-27 20:26:18 test/test5.test
-rw-r--r-- director/dba 6 2002-10-26 20:30:27 test/test4.test
-rw-r--r-- director/dba 6 2002-10-25 20:30:11 test/test3.test
-rw-r--r-- director/dba 6 2002-10-24 20:30:07 test/test2.test
となります。
◆ 圧縮され纏まったファイルを解凍する ◆
さて、上記の例で、正しくファイルが纏まり圧縮されたことが分かりました。もともと、圧縮の対象となったファイルtest1.testからtest5は、削除可能な状態です。
もし、削除してしまった後、test.tar.Zから全てを戻したい場合は、
$ zcat test.tar.Z | tar xvf -
と、実行します。
|